//订单列表
var $orderTable = $('#orderTableList');
// 表格高度
var globalHeight;
//防止表头与表格不对齐
$(window).resize(function () {
    $orderTable.bootstrapTable('resetView');
});

$(function () {
    globalHeight = $(window).height() - $('#orderTableList').offset().top - 30 - 25;
    // 初始化下拉菜单
    $('.filter-content select').selectpicker({
        noneSelectedText: '请选择',
        sanitize: true,
        size: 10
    });
    // // 初始化日期选择控件
    // $('.date-input').datepicker({
    //     language: "zh-CN",
    //     autoclose: true,
    //     clearBtn: true,
    //     todayHighlight: true,
    //     format: "yyyy-mm-dd"
    // });
    //
    // $('.datepicker').datepicker({
    //     language: "zh-CN",
    //     autoclose: true,
    //     clearBtn: true,
    //     todayHighlight: true,
    //     format: "yyyy-mm-dd"
    // });

    //初始化订单列表
    orderTableListInit();

    // 高级筛选
    /*$('#filterContent').on('show.bs.collapse', function () {
        $('.btn-senior').html('<i class="mdi mdi-close"></i>关闭筛选');
    }).on('hide.bs.collapse', function () {
        $('.btn-senior').html('<i class="mdi mdi-sort-variant"></i>高级筛选');
    }).on('hidden.bs.collapse', function () {
        resetOrderQueryParams('#filterContent');
    });*/
});
/**
 * 功能：缩放页面重绘table高度
 * */
$(window).resize(debounce(resizeTable, 500));
function resizeTable() {
    // 计算初始表格高度 = 浏览器高度 - 表格距浏览器顶部高度 - 主体底部padding+margin
    // 注：表格距浏览器顶部高度此处用最外层div获取，解决table垂直滚动时距离
    globalHeight = $(window).height() - $('.bootstrap-table').offset().top - 30 - 25;
    $('#orderTableList').bootstrapTable('resetView', {height: globalHeight});
}


/**
 * 全部/周/月/年切换
 * @param time
 */
function selectTime(time) {
    if (time == 'all') {//全部
        $('.all').addClass('active-second');
        $('.year').removeClass('active-second');
        $('.week').removeClass('active-second');
        $('.month').removeClass('active-second');
        $('.topDay').removeClass('active-second');
        $('.day').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("all");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }
    if (time == 'year') {//本年
        $('.year').addClass('active-second');
        $('.all').removeClass('active-second');
        $('.week').removeClass('active-second');
        $('.month').removeClass('active-second');
        $('.topDay').removeClass('active-second');
        $('.day').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("thisYear");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }
    if (time == 'month') {//本月
        $('.month').addClass('active-second');
        $('.all').removeClass('active-second');
        $('.year').removeClass('active-second');
        $('.week').removeClass('active-second');
        $('.topDay').removeClass('active-second');
        $('.day').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("thisMonth");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }
    if (time == 'week') {//本周
        $('.week').addClass('active-second');
        $('.all').removeClass('active-second');
        $('.year').removeClass('active-second');
        $('.month').removeClass('active-second');
        $('.topDay').removeClass('active-second');
        $('.day').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("thisWeek");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }

    if (time == 'topDay') {//昨天
        $('.topDay').addClass('active-second');
        $('.week').removeClass('active-second');
        $('.all').removeClass('active-second');
        $('.year').removeClass('active-second');
        $('.month').removeClass('active-second');
        $('.day').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("topDay");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }
    if (time == 'day') {//今天
        $('.day').addClass('active-second');
        $('.week').removeClass('active-second');
        $('.all').removeClass('active-second');
        $('.year').removeClass('active-second');
        $('.month').removeClass('active-second');
        $('.topDay').removeClass('active-second');
        // $('.customize').removeClass('active-second');
        $("#dateType").val("day");
        // $('#customInput').css('display','none');
        // $('#startTm').val('');
        // $('#endTm').val('');
    }
    // if (time == 'customize') {//自定义
    //     $('.customize').addClass('active-second');
    //     $('.week').removeClass('active-second');
    //     $('.all').removeClass('active-second');
    //     $('.year').removeClass('active-second');
    //     $('.month').removeClass('active-second');
    //     $('.topDay').removeClass('active-second');
    //     $('.day').removeClass('active-second');
    //     $("#dateType").val("");
    //     $('#customInput').css('display','block');
    //     return;
    // }
    $orderTable.bootstrapTable('refreshOptions', {pageNumber: 1});
}

/**
 * 回款状态
 * @param collectionType 0已完成 1部分退款
 */
function selectCollectionType(collectionType) {
    if (collectionType == '0') {  //已完成
        $('.done').addClass('active-second');
        $('.part').removeClass('active-second');
        $("#collectionType").val("0");
        $('#orderTableList').bootstrapTable('showColumn', 'finishOrderProductNum');
    }
    if (collectionType == '1') {//部分回款
        $('.part').addClass('active-second');
        $('.done').removeClass('active-second');
        $("#collectionType").val("1");
        $('#orderTableList').bootstrapTable('hideColumn', 'finishOrderProductNum');
    }
    $orderTable.bootstrapTable('refreshOptions', {pageNumber: 1});
}

$('#customDateBtn').on('click',function () {
    $orderTable.bootstrapTable('refreshOptions', {pageNumber: 1});
})

/**
 * 订单列表 --分页列表页
 */
function orderTableListInit() {
    //先销毁表格
    $orderTable.bootstrapTable('destroy');
    $orderTable.bootstrapTable({
        classes: 'table table-hover table-bordered table-striped',
        url: '/returnMoney/selectOrderBackMoney',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'orderBackMoneyId',
        idField: 'orderBackMoneyId',
        pageSize: globalPageSize,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: globalPageList,//可供选择的每页的行数
        queryParams: queryParams,//查询参数

        height: globalHeight,
        columns: [
            {title: '主键', field: '', visible: false},
            {title: '序号', field: '', align: 'center', valign: 'left', width: '60',formatter: indexFormat},
            {title: '业务员', field: 'userName', align: 'center', valign: 'left'},
            {title: '公司名称', field: 'companyName', align: 'center', valign: 'left'},
            {title: '订单编号', field: 'orderNumber', align: 'center', valign: 'left', formatter: orderNumberFormat},
            {title: '产品号', field: 'finishOrderProductNum', align: 'center', valign: 'left'},
            {title: '订单编号', field: 'orderNumber', align: 'center', valign: 'left'},
            {title: '产品名称', field: 'productName', align: 'center', valign: 'left'},
            {title: '原价', field: 'productOriginalPrice', align: 'center', valign: 'left'},
            {title: '单价', field: 'productUnitPrice', align: 'center', valign: 'left'},
            {title: '会员价', field: 'productMemberPrice', align: 'center', valign: 'left'},
            {title: '优惠价', field: 'productPreferentialPrice', align: 'center', valign: 'left'},
            {title: '成交价', field: 'productFinalPrice', align: 'center', valign: 'left'},
            {title: '服务费', field: 'serviceMoney', align: 'center', valign: 'left'},
            {title: '申请退款金额', field: 'applyBackMoney', align: 'center', valign: 'left'},
            {title: '退款日期', field: 'updateTm', align: 'center', valign: 'left'},
            {title: '退款金额',field: 'backMoney', align: 'center'}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方

            // table列可拖动宽度
            $('.JCLRgrips').remove();
            $('#orderTableList').css({
                minWidth: $('#orderTableList').width()
            }).colResizable({
                resizeMode: 'overflow',
                liveDrag: true,
                gripInnerHtml: "<div class='grip'></div>",
                draggingClass: "dragging",
                disabledColumns: [0,11,],      // 禁止拖动的列
                postbackSafe: true,                                         // 刷新后保持拖动的宽度
                partialRefresh: true,                                       // 刷新表格之后继续保持可拖动功能
                flush: true,
                minWidth: 80,
            });
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 点击订单编号跳转到订单详情
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function orderNumberFormat(value, row, index) {
    if(value == null) {
        value = '';
    }
    return '<a href="JavaScript:void(0);" onclick="orderNumberDetail(\''+row.productOrderId+ '\')">'+value+'</a>';
}

function  orderNumberDetail(productOrderId) {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '订单详情',
        url : "/front/orderManager/orderDetail?productOrderId=" + productOrderId
    }, true);
}

function searchReturnMoneyList() {
    $orderTable.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
}

/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 是否合作开发--1:是;2:否
 */
function whetherCoDevelopmentFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>是</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>否</span>";
    }
}

function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式

    params.dateType = $('#dateType').val();//dateType(all:全部; thisWeek:本周; thisMonth:本月; thisYear:本年)

    params.collectionType = $('#collectionType').val();// 0 已完成 1部分回款

    //开始时间
    params.arriveTimeStart = $('#startTm').val();
    //结束时间
    params.arriveTimeEnd = $('#endTm').val();
    //业务员名称
    params.salesmanName = $('#userNameSearch').val();
    return params;
}


function  clearAllData() {
    $('#startTm').val('');
    $('#endTm').val('');
    $('#collectionType').val('').selectpicker('refresh')
    $orderTable.bootstrapTable('refreshOptions', {pageNumber: 1});
}